﻿using SheepStorage.Domain.DTO.InputDto;
using SheepStorage.Domain.DTO.Output;
using SheepStorage.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SheepStorage.Service.Interface
{
    public interface IMenuListService
    {
        //添加菜单
           Task<int> AddMenus(MenuList input);


        //删除菜单-物理删除

        Task<int> DeleteMenuList(List<int> menuId);

        /// <summary>
        /// 菜单反填信息
        /// </summary>
        /// <param name="menuId"></param>
        /// <returns></returns>
        Task<MenuList> GetMenuListById(int menuId);

        /// <summary>
        /// 修改菜单
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>

            Task<int> UpdateMenuList(MenuList input);
        /// <summary>
        /// 获取菜单列表
        /// </summary>
        /// <param name="MenuName"></param>
        /// <returns></returns>
         Task< List<MenuList>> GetMenuLists(string? MenuName);
		// 级联方法显示菜单
		  List<MenuListCascaders> GetMenuListCascaders(int pid = 0);


		//批量添加菜单权限
		Task<int> AddMenuList(MenuPermissionInput input);

		//列表显示菜单权限
		Task<object> GetMenuPermissions();
    }
}
